package com.appspot.abcensys.shared;

import java.io.Serializable;
import java.util.ArrayList;

import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;

@PersistenceCapable
public class Vak implements Serializable {
	private static final long serialVersionUID = 1L;
	@PrimaryKey
	@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
	private String vakCode;
	@Persistent
	private String vakNaam;
	@Persistent
	private String vakOmschrijving;
	@Persistent
	private ArrayList<Gebruiker> docenten;

	public void fix() {
		ArrayList<Gebruiker> fixed = new ArrayList<Gebruiker>();
		for (Gebruiker g : this.docenten) {
			fixed.add(g);
		}
		this.docenten = fixed;
	}

	public Vak() {

	}

	/**
	 * @return the vakCode
	 */
	public String getVakCode() {
		return vakCode;
	}

	/**
	 * @param vakCode
	 *            the vakCode to set
	 */
	public void setVakCode(String vakCode) {
		this.vakCode = vakCode;
	}

	/**
	 * @return the vakNaam
	 */
	public String getVakNaam() {
		return vakNaam;
	}

	/**
	 * @param vakNaam
	 *            the vakNaam to set
	 */
	public void setVakNaam(String vakNaam) {
		this.vakNaam = vakNaam;
	}

	/**
	 * @return the vakOmschrijving
	 */
	public String getVakOmschrijving() {
		return vakOmschrijving;
	}

	/**
	 * @param vakOmschrijving
	 *            the vakOmschrijving to set
	 */
	public void setVakOmschrijving(String vakOmschrijving) {
		this.vakOmschrijving = vakOmschrijving;
	}

	/**
	 * @return the deDocenten
	 */
	public ArrayList<Gebruiker> getDeDocenten() {
		return docenten;
	}

	/**
	 * @param deDocenten
	 *            the deDocenten to set
	 */
	public void setDeDocenten(ArrayList<Gebruiker> deDocenten) {
		this.docenten = deDocenten;
	}

	/**
	 * @param docent
	 */
	public void addDocent(Gebruiker docent) {
		this.docenten.add(docent);
	}

	/**
	 * @param docentCode
	 * @return Gebruiker die is opgehaald
	 */
	public Gebruiker zoekDocentViaDocentCode(String docentCode) {
		Gebruiker d = null;
		for (Gebruiker docent : docenten) {
			if (docent.getDocentCode().equals(docentCode)) {
				d = docent;
			}
		}
		return d;
	}
}
